/**
 * uView UI Vue 3 补丁
 * 用于在Vue 3环境中使用uView UI
 */

import uView from 'uview-ui'

// uView Vue 3 安装函数
export function installUView(app) {
    // 注册组件
    if (uView.components) {
        for (const key in uView.components) {
            app.component(key, uView.components[key]);
        }
    }

    // 注册指令
    if (uView.directives) {
        for (const key in uView.directives) {
            app.directive(key, uView.directives[key]);
        }
    }

    // 注册过滤器为全局方法
    if (uView.$u && uView.$u.filter) {
        for (const key in uView.$u.filter) {
            app.config.globalProperties[`$${key}`] = uView.$u.filter[key];
        }
    }

    // 挂载$u
    if (uView.$u) {
        app.config.globalProperties.$u = uView.$u;
    }

    // 挂载uView
    app.config.globalProperties.uView = uView;

    return app;
}